home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / a56 / src / makefile < prev    next >
Makefile  |  1995-04-27  |  2KB  |  113 lines

  1. #######################################################
  2. #
  3. #  a56 - a DSP56001 assembler
  4. #
  5. #  Written by Quinn C. Jensen
  6. #  July 1990
  7. #
  8. #######################################################
  9.  
  10. # environment definitions
  11. # uncomment the ones you like
  12.  
  13. # generic unix
  14. CC = cc
  15. HOSTCC = cc
  16. YACC = yacc
  17. CCDEFS =
  18. MV = mv
  19. YTABC = y.tab.c
  20. YTABH = y.tab.h
  21. POSTPROCESS = echo
  22.  
  23. # gcc & bison
  24. #CC = gcc
  25. #HOSTCC = gcc
  26. #YACC = bison -y
  27. #CCDEFS =
  28. #MV = mv
  29. #YTABC = y.tab.c
  30. #YTABH = y.tab.h
  31. #POSTPROCESS = echo
  32.  
  33. # Delorie's DOS gcc (from ftp://omnigate.clarkson.edu/pub/msdos/djgpp)
  34. #CC = gcc
  35. #HOSTCC = gcc
  36. #YACC = bison -y
  37. #CCDEFS =
  38. #MV = ren
  39. #YTABC = y_tab.c
  40. #YTABH = y_tab.h
  41. #POSTPROCESS = coff2exe
  42.  
  43. # gcc cross-compile to go32 environment
  44. #CC = i386-go32-gcc
  45. #HOSTCC = cc
  46. #YACC = yacc
  47. #CCDEFS =
  48. #MV = mv
  49. #YTABC = y.tab.c
  50. #YTABH = y.tab.h
  51. #POSTPROCESS = coff2exe
  52.  
  53. #######################################################
  54.  
  55. # -O or -g
  56. DEBUG = -O
  57.  
  58. SRCS = main.c a56.y lex.c subs.c getopt.c kparse.key
  59. OBJS = main.o gram.o lex.o toktab.o subs.o getopt.o kparse.o
  60.  
  61. DEFINES = $(CCDEFS)
  62. #DEFINES = -DYYDEBUG -DLDEBUG $(CCDEFS)
  63.  
  64. CFLAGS = $(DEBUG) $(DEFINES)
  65.  
  66. all:    keybld a56 toomf
  67.  
  68. a56:    $(OBJS)
  69.     $(CC) $(CFLAGS) -o a56.ttp $(OBJS)
  70.     @$(POSTPROCESS) a56.ttp
  71.  
  72. keybld:    keybld.o ksubs.o
  73.     $(HOSTCC) $(CFLAGS) -o keybld keybld.o ksubs.o
  74.     @$(POSTPROCESS) keybld
  75.  
  76. keybld.o:    keybld.c
  77.     $(HOSTCC) $(CFLAGS) -c keybld.c
  78.  
  79. ksubs.o:    subs.c
  80.     $(HOSTCC) $(CFLAGS) -c subs.c
  81.     $(MV) subs.o ksubs.o
  82.  
  83. lex.o:    lex.c gram.h
  84.  
  85. kparse.c:    a56.key keybld
  86.     keybld < a56.key > kparse.c
  87.  
  88. gram.c gram.h:    a56.y
  89.     @echo "[expect 2 shift/reduce conflicts here]"
  90.     $(YACC) -d a56.y
  91.     $(MV) $(YTABC) gram.c
  92.     $(MV) $(YTABH) gram.h
  93.  
  94. toktab.c:    gram.h
  95.     awk -f tok.awk < gram.h > toktab.c
  96.  
  97. y.output:    a56.y
  98.     $(YACC) -v a56.y
  99.  
  100. toomf:    toomf.o
  101.     $(CC) -o toomf.ttp $(CFLAGS) toomf.o
  102.     @$(POSTPROCESS) toomf.ttp
  103.  
  104. tape:    toktab.c
  105.     csh -c 'tar cvbf 1 - `cat files` | gzip > a56.tar.gz'
  106.  
  107. main.o gram.o lex.o:    a56.h
  108.  
  109. clean:    ; rm -f a56 toomf y.output *.o *.out tmp *.bak a56.tar.gz keybld
  110.  
  111. spotless:    clean
  112.     rm -f gram.c lexyy.c gram.h toktab.c kparse.c
  113.